
        <html>
			<head>
			     <title>NMAP 基础教程 - he1renyagao</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/tips/2002">http://drops.wooyun.org/tips/2002</a></h1>
				
      <p>
        <p>原文地址：http://infotechbits.wordpress.com/2014/05/04/introduction-to-basic-nmap/</p>

<h2>0x00 nmap 介绍</h2>

<hr />

<p>Nmap  （网络映射器）是由 Gordon Lyon设计，用来探测计算机网络上的主机和服务的一种安全扫描器。为了绘制网络拓扑图，Nmap的发送特制的数据包到目标主机，然后对返回数据包进行分析。Nmap是一款枚举和测试网络的强大工具。</p>

<p>Nmap 特点：</p>

<pre><code>主机探测：探测网络上的主机，例如列出响应TCP和ICMP请求、icmp请求、开放特别端口的主机。 
端口扫描：探测目标主机所开放的端口。 
版本检测：探测目标主机的网络服务，判断其服务名称及版本号。 
系统检测：探测目标主机的操作系统及网络设备的硬件特性。 
支持探测脚本的编写：使用Nmap的脚本引擎（NSE）和Lua编程语言。
</code></pre>

<!--more-->

<p>Nmap 能扫描出目标的详细信息包括、DNS反解、设备类型和mac地址。</p>

<p>(DNS 反解详情移步<a href="http://www.debouncer.com/reverse-dns-check">http://www.debouncer.com/reverse-dns-check</a>)</p>

<h2>0x01 Nmap 典型用途：</h2>

<hr />

<pre><code>1、通过对设备或者防火墙的探测来审计它的安全性。 
2、探测目标主机所开放的端口。 
3、网络存储，网络映射，维护和资产管理。（这个有待深入） 
4、通过识别新的服务器审计网络的安全性。 
5、探测网络上的主机。 
</code></pre>

<h2>0x02 nmap 安装</h2>

<hr />

<p>nmap可以到<a href="http://nmap.org/download.html">http://nmap.org/download.html</a>下载最新版本</p>

<p><img src="http://static.wooyun.org/201405/2014051802083312402.png" alt="2014051802083312402.png" /></p>

<p>Nmap 安装、根据提示向导，下一步、下一步进行安装。</p>

<p><img src="http://static.wooyun.org/201405/2014051802102488756.png" alt="2014051802102488756.png" /></p>

<p><img src="http://static.wooyun.org/201405/2014051802103492666.png" alt="2014051802103492666.png" /></p>

<p><img src="http://static.wooyun.org/201405/2014051802110354681.png" alt="2014051802110354681.png" /></p>

<p><img src="http://static.wooyun.org/201405/2014051802104432330.png" alt="2014051802104432330.png" /></p>

<p>进入命令提示符（cmd），输入nmap，可以看到nmap的帮助信息，说明安装成功。</p>

<p><img src="http://static.wooyun.org/201405/2014051802121466655.png" alt="2014051802121466655.png" /></p>

<h2>0x03 nmap 命令操作</h2>

<hr />

<p>注意：请自己通过各种设备来搭建模拟实际的网络环境（如虚拟机，手机等设备），请在道德和法律的允许下进行测试。不然你懂的。</p>

<h3>1、Nmap 简单扫描</h3>

<p>Nmap 默认发送一个arp的ping数据包，来探测目标主机在1-10000范围内所开放的端口。</p>

<p>命令语法：</p>

<pre><code>#!bash
nmap &lt;target ip address&gt; 
</code></pre>

<p>解释：Target ip address 为你目标主机的ip地址</p>

<p>例子：</p>

<pre><code>#!bash
nmap 10.1.1.254
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802164891565.png" alt="2014051802164891565.png" /></p>

<h3>2、Nmap 简单扫描，并对返回的结果详细描述输出。</h3>

<p>命令语法：</p>

<pre><code>#!bash
nmap -vv 10.1.1.254 
</code></pre>

<p>介绍：-vv 参数设置对结果的详细输出。</p>

<p>例子：</p>

<pre><code>#!bash
nmap -vv 10.1.1.254  
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802190267121.png" alt="2014051802190267121.png" /></p>

<h3>3、nmap 自定义扫描</h3>

<p>nmap 默认扫描目标1-10000范围内的端口号。我们则可以通过参数-p 来设置我们将要扫描的端口号。</p>

<p>命令语法：</p>

<pre><code>#!bash
nmap -p(range) &lt;target IP&gt;  
</code></pre>

<p>解释：（rangge）为要扫描的端口（范围），端口大小不能超过65535，Target ip  为目标ip地址</p>

<p>例子：扫描目标主机1-50号端口：</p>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802212052726.png" alt="2014051802212052726.png" /></p>

<p>例子：扫描目标主机1-100号端口：</p>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802222245147.png" alt="2014051802222245147.png" /></p>

<p>例子：扫描目标主机50-500号端口：</p>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802225999391.png" alt="2014051802225999391.png" /></p>

<h3>4、nmap 指定端口扫描</h3>

<p>有时不想对所有端口进行探测，只想对80,443,1000,65534这几个特殊的端口进行扫描，我们还可以利用参数p 进行配置。</p>

<p>命令语法：</p>

<pre><code>#!bash
nmap -p(port1,port2,port3,...) &lt;target ip&gt; 
</code></pre>

<p>例子：</p>

<pre><code>#!bash
nmap -p80,443,22,21,8080,25,53 10.1.1.254  
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802253110893.png" alt="2014051802253110893.png" /></p>

<h3>5、nmap ping 扫描</h3>

<p>nmap 可以利用类似window/linux 系统下的ping方式进行扫描。</p>

<p>命令语法：</p>

<pre><code>#!bash
nmap -sP &lt;target ip&gt; 
</code></pre>

<p>解释：sP 设置扫描方式为ping扫描</p>

<p>例子：</p>

<pre><code>#!bash
nmap -sP 10.1.1.254 
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802273675033.png" alt="2014051802273675033.png" /></p>

<p>6、nmap 路由跟踪</p>

<p>路由器追踪功能，能够帮网络管理员了解网络通行情况，同时也是网络管理人员很好的辅助工具！通过路由器追踪可以轻松的查处从我们电脑所在地到目标地之间所经常的网络节点，并可以看到通过各个节点所花费的时间（百度百科）</p>

<p>命令语法:</p>

<pre><code>#!bash
nmap --traceroute &lt;target ip&gt; 
</code></pre>

<p>例子：</p>

<pre><code>#!bash
nmap --traceroute 8.8.8.8 (google dns服务器ip)  
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802292010676.png" alt="2014051802292010676.png" /></p>

<h3>7、nmap 还可以设置扫描一个网段下的ip</h3>

<p>命令语法：</p>

<pre><code>#!bash
nmap -sP &lt;network address &gt; &lt;/CIDR &gt;  
</code></pre>

<p>解释：CIDR 为你设置的子网掩码(/24 , /16 ,/8 等)</p>

<p>例子：</p>

<pre><code>#!bash
nmap -sP 10.1.1.0 /24  
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802324658402.png" alt="2014051802324658402.png" /></p>

<p>例子：</p>

<pre><code>#!bash
nmap -sP 10.1.1.1-255  
</code></pre>

<p>效果:</p>

<p><img src="http://static.wooyun.org/201405/2014051802333142828.png" alt="2014051802333142828.png" /></p>

<p>上面两个都是扫描10.1.1.0/24 网络段的主机</p>

<p>其中</p>

<p>Windown:10.1.1.103</p>

<p><img src="http://static.wooyun.org/201405/2014051802345754384.png" alt="2014051802345754384.png" /></p>

<p>Android:10.1.1.101</p>

<p><img src="http://static.wooyun.org/201405/2014051802352761422.png" alt="2014051802352761422.png" /></p>

<h3>8、nmap 操作系统类型的探测</h3>

<p>nmap 通过目标开放的端口来探测主机所运行的操作系统类型。这是信息收集中很重要的一步，它可以帮助你找到特定操作系统上的含有漏洞的的服务。</p>

<p>命令语法：</p>

<pre><code>#!bash
nmap -O &lt;target ip&gt; 
</code></pre>

<p>例子：</p>

<pre><code>#!bash
nmap -O 10.1.1.254   
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802371530835.png" alt="2014051802371530835.png" /></p>

<p>例子：</p>

<pre><code>#!bash
nmap -O 10.1.1.101 （扫描android手机）  
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802380381069.png" alt="2014051802380381069.png" /></p>

<p>Nmap 默认不能扫描本机，如果你想扫描你的电脑，你可以通过虚拟机来进行扫描。</p>

<p>例子：</p>

<pre><code>#!bash
nmap -O 10.1.1.103（Windows 7 SP2 Home Premium ）
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802401014634.png" alt="2014051802401014634.png" /></p>

<h3>9、nmap 万能开关</h3>

<p>次选项设置包含了1-10000的端口ping扫描，操作系统扫描，脚本扫描，路由跟踪，服务探测。</p>

<p>命令语法：</p>

<pre><code>#!bash
nmap -A &lt;target ip&gt;  
</code></pre>

<p>例子：</p>

<pre><code>#!bash
nmap -A 10.1.1.254 
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802423388389.png" alt="2014051802423388389.png" /></p>

<h3>10、nmap 命令混合式扫描</h3>

<p>命令混合扫描，可以做到类似参数-A所完成的功能，但又能细化到我们所需特殊要求。</p>

<p>命令语法：</p>

<pre><code>#!bash
nmap -vv -p1-1000 -O &lt;target ip&gt;  
</code></pre>

<p>例子：</p>

<pre><code>#!bash
nmap -vv -p1-1000 -O 10.1.1.105 
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802444951776.png" alt="2014051802444951776.png" /></p>

<p>例子:对目标主机的80,8080,22,23端口进行扫描，并且对目标进行路由跟踪和操作系统探测。</p>

<pre><code>#!bash
nmap -p80,8080,22,23 -traceroute -O 10.1.1.254 
</code></pre>

<p>效果：</p>

<p><img src="http://static.wooyun.org/201405/2014051802473156938.png" alt="2014051802473156938.png" /></p>

<p>Nmap提供的这些参数，可根据自己的需求，灵活的组合使用。</p>

<p>由于个人水平有限，如有错误欢迎指出。</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          